package cn.fzkj.gulimall.product.service;

import cn.fzkj.gulimall.product.vo.AttrRespVO;
import cn.fzkj.gulimall.product.vo.AttrVO;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.fzkj.common.utils.PageUtils;
import cn.fzkj.gulimall.product.entity.AttrEntity;

import java.util.List;
import java.util.Map;

/**
 * 商品属性
 *
 * @author chenxin
 * @email chenxin@gmail.com
 * @date 2022-02-19 22:47:32
 */
public interface AttrService extends IService<AttrEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /** 保存商品属性，其中包括属性分组信息 */
    boolean saveAttr(AttrVO attr);

    /** 查询基本属性信息 */
    PageUtils queryAttrPage(Long catlogId, Map<String, Object> params, String attrType);

    /** 查询单个属性信息 */
    AttrRespVO getAttrInfo(Long attrId);

    /** 更新属性，包括 */
    boolean updateAttr(AttrVO attr);

    /** 查询分组关联的属性 */
    List<AttrEntity> getRelationAttr(Long attrGroupId);

    /** 查询分组未关联的属性 */
    PageUtils getNoRelationAttrPage(Long attrGroupId, Map<String, Object> params);

    /** 查询出检索属性的属性id */
    List<Long> selectSearchAttrIds(List<Long> attrIds);
}

